﻿//using System;
//using System.Collections.Generic;
//using System.Linq;
//using System.Text;
//using System.Threading.Tasks;

//namespace _5_NovaAdmin.Infrastructure.EntityConfigurations
//{
//    public class IdempotencyRecordConfiguration : IEntityTypeConfiguration<IdempotencyRecord>
//    {
//        public void Configure(EntityTypeBuilder<IdempotencyRecord> builder)
//        {
//            builder.HasKey(p => p.Id);
//            builder.ToTable("IdempotencyRecord");
//            builder.Property(p => p.Key).HasColumnType("varchar(50)").HasMaxLength(50).IsRequired();
//            builder.Property(p => p.Response).HasColumnType("text").HasColumnName("Response");
//            builder.Property(p => p.ExpireAt).HasColumnType("TIMESTAMP");
//            //实体类的属性默认全部会映射到数据库表中，可以使用Ignore去忽略制定的属性
//            //builder.Ignore(e => e.Desc);

//            //全局查询过滤
//            //builder.HasQueryFilter(p => !p.IsDeleted);

//            //索引配置
//            //builder.HasIndex(p => p.Email).IsUnique();

//            //复合主键
//            //builder.HasKey(p => new { p.UserId, p.RoleId });

//            //并发控制（乐观锁）
//            //builder.Property(p => p.RowVersion).IsRowVersion();

//            // 使用扩展方法添加审计信息配置
//            builder.ConfigureAuditable();
//        }
//    }
//}
